/**
 * This is my code.
 *
 * $Id$
 */
package fi.jab.esb.config.xml;

import org.eclipse.emf.common.util.EMap;

import org.eclipse.emf.ecore.EObject;

import org.eclipse.emf.ecore.util.FeatureMap;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Document Root</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getMixed <em>Mixed</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getXMLNSPrefixMap <em>XMLNS Prefix Map</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getXSISchemaLocation <em>XSI Schema Location</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getAction <em>Action</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getActions <em>Actions</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getActivationConfig <em>Activation Config</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getBus <em>Bus</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getBusProvider <em>Bus Provider</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getProvider <em>Provider</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getCronSchedule <em>Cron Schedule</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getSchedule <em>Schedule</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getFsBus <em>Fs Bus</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getFsListener <em>Fs Listener</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getListener <em>Listener</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getFsMessageFilter <em>Fs Message Filter</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getFsProvider <em>Fs Provider</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getFtpBus <em>Ftp Bus</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getFtpListener <em>Ftp Listener</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getFtpMessageFilter <em>Ftp Message Filter</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getFtpProvider <em>Ftp Provider</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getGroovyListener <em>Groovy Listener</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getHibernateBus <em>Hibernate Bus</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getHibernateListener <em>Hibernate Listener</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getHibernateMessageFilter <em>Hibernate Message Filter</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getHibernateProvider <em>Hibernate Provider</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getJbossesb <em>Jbossesb</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getJbrBus <em>Jbr Bus</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getJbrListener <em>Jbr Listener</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getJbrProvider <em>Jbr Provider</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getJcaGateway <em>Jca Gateway</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getJmsBus <em>Jms Bus</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getJmsJcaProvider <em>Jms Jca Provider</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getJmsListener <em>Jms Listener</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getJmsMessageFilter <em>Jms Message Filter</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getJmsProvider <em>Jms Provider</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getListeners <em>Listeners</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getProperty <em>Property</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getProviders <em>Providers</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getScheduledListener <em>Scheduled Listener</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getScheduleProvider <em>Schedule Provider</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getService <em>Service</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getServices <em>Services</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getSimpleSchedule <em>Simple Schedule</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getSqlBus <em>Sql Bus</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getSqlListener <em>Sql Listener</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getSqlMessageFilter <em>Sql Message Filter</em>}</li>
 *   <li>{@link fi.jab.esb.config.xml.DocumentRoot#getSqlProvider <em>Sql Provider</em>}</li>
 * </ul>
 * </p>
 *
 * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot()
 * @model extendedMetaData="name='' kind='mixed'"
 * @generated
 */
public interface DocumentRoot extends EObject
{
  /**
   * Returns the value of the '<em><b>Mixed</b></em>' attribute list.
   * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Mixed</em>' attribute list isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Mixed</em>' attribute list.
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_Mixed()
   * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
   *        extendedMetaData="kind='elementWildcard' name=':mixed'"
   * @generated
   */
  FeatureMap getMixed();

  /**
   * Returns the value of the '<em><b>XMLNS Prefix Map</b></em>' map.
   * The key is of type {@link java.lang.String},
   * and the value is of type {@link java.lang.String},
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>XMLNS Prefix Map</em>' map isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>XMLNS Prefix Map</em>' map.
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_XMLNSPrefixMap()
   * @model mapType="org.eclipse.emf.ecore.EStringToStringMapEntry<org.eclipse.emf.ecore.EString, org.eclipse.emf.ecore.EString>" transient="true"
   *        extendedMetaData="kind='attribute' name='xmlns:prefix'"
   * @generated
   */
  EMap<String, String> getXMLNSPrefixMap();

  /**
   * Returns the value of the '<em><b>XSI Schema Location</b></em>' map.
   * The key is of type {@link java.lang.String},
   * and the value is of type {@link java.lang.String},
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>XSI Schema Location</em>' map isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>XSI Schema Location</em>' map.
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_XSISchemaLocation()
   * @model mapType="org.eclipse.emf.ecore.EStringToStringMapEntry<org.eclipse.emf.ecore.EString, org.eclipse.emf.ecore.EString>" transient="true"
   *        extendedMetaData="kind='attribute' name='xsi:schemaLocation'"
   * @generated
   */
  EMap<String, String> getXSISchemaLocation();

  /**
   * Returns the value of the '<em><b>Action</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * 
   * 				An action which will act on the message when it is received by the service. Actions can be chained. Hence you can specify a
   * 				list of actions. Action are 'pluggable' and can be custom code, however JBossESB comes with a list of predefined actions.
   * 			
   * <!-- end-model-doc -->
   * @return the value of the '<em>Action</em>' containment reference.
   * @see #setAction(ActionType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_Action()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='action' namespace='##targetNamespace'"
   * @generated
   */
  ActionType getAction();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getAction <em>Action</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Action</em>' containment reference.
   * @see #getAction()
   * @generated
   */
  void setAction(ActionType value);

  /**
   * Returns the value of the '<em><b>Actions</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * A container for actions belonging to this service.
   * <!-- end-model-doc -->
   * @return the value of the '<em>Actions</em>' containment reference.
   * @see #setActions(ActionsType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_Actions()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='actions' namespace='##targetNamespace'"
   * @generated
   */
  ActionsType getActions();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getActions <em>Actions</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Actions</em>' containment reference.
   * @see #getActions()
   * @generated
   */
  void setActions(ActionsType value);

  /**
   * Returns the value of the '<em><b>Activation Config</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * Activation configuration for jca bus or listener.
   * <!-- end-model-doc -->
   * @return the value of the '<em>Activation Config</em>' containment reference.
   * @see #setActivationConfig(ActivationConfigType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_ActivationConfig()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='activation-config' namespace='##targetNamespace'"
   * @generated
   */
  ActivationConfigType getActivationConfig();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getActivationConfig <em>Activation Config</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Activation Config</em>' containment reference.
   * @see #getActivationConfig()
   * @generated
   */
  void setActivationConfig(ActivationConfigType value);

  /**
   * Returns the value of the '<em><b>Bus</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Bus</em>' containment reference isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Bus</em>' containment reference.
   * @see #setBus(Bus)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_Bus()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='bus' namespace='##targetNamespace'"
   * @generated
   */
  Bus getBus();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getBus <em>Bus</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Bus</em>' containment reference.
   * @see #getBus()
   * @generated
   */
  void setBus(Bus value);

  /**
   * Returns the value of the '<em><b>Bus Provider</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * Generic Bus Provider.
   * <!-- end-model-doc -->
   * @return the value of the '<em>Bus Provider</em>' containment reference.
   * @see #setBusProvider(BusProviderType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_BusProvider()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='bus-provider' namespace='##targetNamespace' affiliation='provider'"
   * @generated
   */
  BusProviderType getBusProvider();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getBusProvider <em>Bus Provider</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Bus Provider</em>' containment reference.
   * @see #getBusProvider()
   * @generated
   */
  void setBusProvider(BusProviderType value);

  /**
   * Returns the value of the '<em><b>Provider</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Provider</em>' containment reference isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Provider</em>' containment reference.
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_Provider()
   * @model containment="true" upper="-2" transient="true" changeable="false" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='provider' namespace='##targetNamespace'"
   * @generated
   */
  Provider getProvider();

  /**
   * Returns the value of the '<em><b>Cron Schedule</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Cron Schedule</em>' containment reference isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Cron Schedule</em>' containment reference.
   * @see #setCronSchedule(CronScheduleType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_CronSchedule()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='cron-schedule' namespace='##targetNamespace' affiliation='schedule'"
   * @generated
   */
  CronScheduleType getCronSchedule();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getCronSchedule <em>Cron Schedule</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Cron Schedule</em>' containment reference.
   * @see #getCronSchedule()
   * @generated
   */
  void setCronSchedule(CronScheduleType value);

  /**
   * Returns the value of the '<em><b>Schedule</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Schedule</em>' containment reference isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Schedule</em>' containment reference.
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_Schedule()
   * @model containment="true" upper="-2" transient="true" changeable="false" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='schedule' namespace='##targetNamespace'"
   * @generated
   */
  Schedule getSchedule();

  /**
   * Returns the value of the '<em><b>Fs Bus</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * A Fs-Bus is a specific instance of a bus using the File protocol.
   * <!-- end-model-doc -->
   * @return the value of the '<em>Fs Bus</em>' containment reference.
   * @see #setFsBus(FsBusType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_FsBus()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='fs-bus' namespace='##targetNamespace' affiliation='bus'"
   * @generated
   */
  FsBusType getFsBus();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getFsBus <em>Fs Bus</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Fs Bus</em>' containment reference.
   * @see #getFsBus()
   * @generated
   */
  void setFsBus(FsBusType value);

  /**
   * Returns the value of the '<em><b>Fs Listener</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * A specific listener using the file protocol.
   * <!-- end-model-doc -->
   * @return the value of the '<em>Fs Listener</em>' containment reference.
   * @see #setFsListener(FsListenerType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_FsListener()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='fs-listener' namespace='##targetNamespace' affiliation='listener'"
   * @generated
   */
  FsListenerType getFsListener();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getFsListener <em>Fs Listener</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Fs Listener</em>' containment reference.
   * @see #getFsListener()
   * @generated
   */
  void setFsListener(FsListenerType value);

  /**
   * Returns the value of the '<em><b>Listener</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Listener</em>' containment reference isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Listener</em>' containment reference.
   * @see #setListener(Listener)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_Listener()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='listener' namespace='##targetNamespace'"
   * @generated
   */
  Listener getListener();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getListener <em>Listener</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Listener</em>' containment reference.
   * @see #getListener()
   * @generated
   */
  void setListener(Listener value);

  /**
   * Returns the value of the '<em><b>Fs Message Filter</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * A FS filter.
   * <!-- end-model-doc -->
   * @return the value of the '<em>Fs Message Filter</em>' containment reference.
   * @see #setFsMessageFilter(FsMessageFilterType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_FsMessageFilter()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='fs-message-filter' namespace='##targetNamespace'"
   * @generated
   */
  FsMessageFilterType getFsMessageFilter();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getFsMessageFilter <em>Fs Message Filter</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Fs Message Filter</em>' containment reference.
   * @see #getFsMessageFilter()
   * @generated
   */
  void setFsMessageFilter(FsMessageFilterType value);

  /**
   * Returns the value of the '<em><b>Fs Provider</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * 
   * 				A specific instance of a provider, providing a file system (local fileshare or NAS).
   * 			
   * <!-- end-model-doc -->
   * @return the value of the '<em>Fs Provider</em>' containment reference.
   * @see #setFsProvider(FsProviderType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_FsProvider()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='fs-provider' namespace='##targetNamespace' affiliation='provider'"
   * @generated
   */
  FsProviderType getFsProvider();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getFsProvider <em>Fs Provider</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Fs Provider</em>' containment reference.
   * @see #getFsProvider()
   * @generated
   */
  void setFsProvider(FsProviderType value);

  /**
   * Returns the value of the '<em><b>Ftp Bus</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * A FTP-Bus is a specific instance of a bus using the FTP protocol.
   * <!-- end-model-doc -->
   * @return the value of the '<em>Ftp Bus</em>' containment reference.
   * @see #setFtpBus(FtpBusType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_FtpBus()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='ftp-bus' namespace='##targetNamespace' affiliation='bus'"
   * @generated
   */
  FtpBusType getFtpBus();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getFtpBus <em>Ftp Bus</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Ftp Bus</em>' containment reference.
   * @see #getFtpBus()
   * @generated
   */
  void setFtpBus(FtpBusType value);

  /**
   * Returns the value of the '<em><b>Ftp Listener</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * A specific listener using the ftp protocol.
   * <!-- end-model-doc -->
   * @return the value of the '<em>Ftp Listener</em>' containment reference.
   * @see #setFtpListener(FtpListenerType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_FtpListener()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='ftp-listener' namespace='##targetNamespace' affiliation='listener'"
   * @generated
   */
  FtpListenerType getFtpListener();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getFtpListener <em>Ftp Listener</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Ftp Listener</em>' containment reference.
   * @see #getFtpListener()
   * @generated
   */
  void setFtpListener(FtpListenerType value);

  /**
   * Returns the value of the '<em><b>Ftp Message Filter</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * A FTP filter.
   * <!-- end-model-doc -->
   * @return the value of the '<em>Ftp Message Filter</em>' containment reference.
   * @see #setFtpMessageFilter(FtpMessageFilterType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_FtpMessageFilter()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='ftp-message-filter' namespace='##targetNamespace'"
   * @generated
   */
  FtpMessageFilterType getFtpMessageFilter();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getFtpMessageFilter <em>Ftp Message Filter</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Ftp Message Filter</em>' containment reference.
   * @see #getFtpMessageFilter()
   * @generated
   */
  void setFtpMessageFilter(FtpMessageFilterType value);

  /**
   * Returns the value of the '<em><b>Ftp Provider</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * A specific instance of a provider, providing a ftp service.
   * <!-- end-model-doc -->
   * @return the value of the '<em>Ftp Provider</em>' containment reference.
   * @see #setFtpProvider(FtpProviderType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_FtpProvider()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='ftp-provider' namespace='##targetNamespace' affiliation='provider'"
   * @generated
   */
  FtpProviderType getFtpProvider();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getFtpProvider <em>Ftp Provider</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Ftp Provider</em>' containment reference.
   * @see #getFtpProvider()
   * @generated
   */
  void setFtpProvider(FtpProviderType value);

  /**
   * Returns the value of the '<em><b>Groovy Listener</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * Groovy Listener.
   * <!-- end-model-doc -->
   * @return the value of the '<em>Groovy Listener</em>' containment reference.
   * @see #setGroovyListener(GroovyListenerType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_GroovyListener()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='groovy-listener' namespace='##targetNamespace' affiliation='listener'"
   * @generated
   */
  GroovyListenerType getGroovyListener();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getGroovyListener <em>Groovy Listener</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Groovy Listener</em>' containment reference.
   * @see #getGroovyListener()
   * @generated
   */
  void setGroovyListener(GroovyListenerType value);

  /**
   * Returns the value of the '<em><b>Hibernate Bus</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * 
   * 				A hibernate-bus is a specific instance of a bus using the Hibernate protocol.
   * 			
   * <!-- end-model-doc -->
   * @return the value of the '<em>Hibernate Bus</em>' containment reference.
   * @see #setHibernateBus(HibernateBusType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_HibernateBus()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='hibernate-bus' namespace='##targetNamespace' affiliation='bus'"
   * @generated
   */
  HibernateBusType getHibernateBus();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getHibernateBus <em>Hibernate Bus</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Hibernate Bus</em>' containment reference.
   * @see #getHibernateBus()
   * @generated
   */
  void setHibernateBus(HibernateBusType value);

  /**
   * Returns the value of the '<em><b>Hibernate Listener</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * A specific listener using the hibernate protocol.
   * <!-- end-model-doc -->
   * @return the value of the '<em>Hibernate Listener</em>' containment reference.
   * @see #setHibernateListener(HibernateListenerType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_HibernateListener()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='hibernate-listener' namespace='##targetNamespace' affiliation='listener'"
   * @generated
   */
  HibernateListenerType getHibernateListener();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getHibernateListener <em>Hibernate Listener</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Hibernate Listener</em>' containment reference.
   * @see #getHibernateListener()
   * @generated
   */
  void setHibernateListener(HibernateListenerType value);

  /**
   * Returns the value of the '<em><b>Hibernate Message Filter</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * A Hibernate filter.
   * <!-- end-model-doc -->
   * @return the value of the '<em>Hibernate Message Filter</em>' containment reference.
   * @see #setHibernateMessageFilter(HibernateMessageFilterType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_HibernateMessageFilter()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='hibernate-message-filter' namespace='##targetNamespace'"
   * @generated
   */
  HibernateMessageFilterType getHibernateMessageFilter();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getHibernateMessageFilter <em>Hibernate Message Filter</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Hibernate Message Filter</em>' containment reference.
   * @see #getHibernateMessageFilter()
   * @generated
   */
  void setHibernateMessageFilter(HibernateMessageFilterType value);

  /**
   * Returns the value of the '<em><b>Hibernate Provider</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * A specific instance of a provider, providing a hibernate service.
   * <!-- end-model-doc -->
   * @return the value of the '<em>Hibernate Provider</em>' containment reference.
   * @see #setHibernateProvider(HibernateProviderType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_HibernateProvider()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='hibernate-provider' namespace='##targetNamespace' affiliation='provider'"
   * @generated
   */
  HibernateProviderType getHibernateProvider();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getHibernateProvider <em>Hibernate Provider</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Hibernate Provider</em>' containment reference.
   * @see #getHibernateProvider()
   * @generated
   */
  void setHibernateProvider(HibernateProviderType value);

  /**
   * Returns the value of the '<em><b>Jbossesb</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * The jbossesb configuration for a single instance.
   * <!-- end-model-doc -->
   * @return the value of the '<em>Jbossesb</em>' containment reference.
   * @see #setJbossesb(JbossesbType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_Jbossesb()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='jbossesb' namespace='##targetNamespace'"
   * @generated
   */
  JbossesbType getJbossesb();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getJbossesb <em>Jbossesb</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Jbossesb</em>' containment reference.
   * @see #getJbossesb()
   * @generated
   */
  void setJbossesb(JbossesbType value);

  /**
   * Returns the value of the '<em><b>Jbr Bus</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * JBoss Remoting Bus
   * <!-- end-model-doc -->
   * @return the value of the '<em>Jbr Bus</em>' containment reference.
   * @see #setJbrBus(JbrBusType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_JbrBus()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='jbr-bus' namespace='##targetNamespace' affiliation='bus'"
   * @generated
   */
  JbrBusType getJbrBus();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getJbrBus <em>Jbr Bus</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Jbr Bus</em>' containment reference.
   * @see #getJbrBus()
   * @generated
   */
  void setJbrBus(JbrBusType value);

  /**
   * Returns the value of the '<em><b>Jbr Listener</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * JBoss Remoting Listener.
   * <!-- end-model-doc -->
   * @return the value of the '<em>Jbr Listener</em>' containment reference.
   * @see #setJbrListener(JbrListenerType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_JbrListener()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='jbr-listener' namespace='##targetNamespace' affiliation='listener'"
   * @generated
   */
  JbrListenerType getJbrListener();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getJbrListener <em>Jbr Listener</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Jbr Listener</em>' containment reference.
   * @see #getJbrListener()
   * @generated
   */
  void setJbrListener(JbrListenerType value);

  /**
   * Returns the value of the '<em><b>Jbr Provider</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * JBoss Remoting Provider.
   * <!-- end-model-doc -->
   * @return the value of the '<em>Jbr Provider</em>' containment reference.
   * @see #setJbrProvider(JbrProviderType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_JbrProvider()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='jbr-provider' namespace='##targetNamespace' affiliation='provider'"
   * @generated
   */
  JbrProviderType getJbrProvider();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getJbrProvider <em>Jbr Provider</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Jbr Provider</em>' containment reference.
   * @see #getJbrProvider()
   * @generated
   */
  void setJbrProvider(JbrProviderType value);

  /**
   * Returns the value of the '<em><b>Jca Gateway</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * A specific gateway using JCA inflow.
   * <!-- end-model-doc -->
   * @return the value of the '<em>Jca Gateway</em>' containment reference.
   * @see #setJcaGateway(JcaGatewayType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_JcaGateway()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='jca-gateway' namespace='##targetNamespace' affiliation='listener'"
   * @generated
   */
  JcaGatewayType getJcaGateway();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getJcaGateway <em>Jca Gateway</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Jca Gateway</em>' containment reference.
   * @see #getJcaGateway()
   * @generated
   */
  void setJcaGateway(JcaGatewayType value);

  /**
   * Returns the value of the '<em><b>Jms Bus</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * A JMS-Bus is a specific instance of a bus using the JMS protocol.
   * <!-- end-model-doc -->
   * @return the value of the '<em>Jms Bus</em>' containment reference.
   * @see #setJmsBus(JmsBusType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_JmsBus()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='jms-bus' namespace='##targetNamespace' affiliation='bus'"
   * @generated
   */
  JmsBusType getJmsBus();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getJmsBus <em>Jms Bus</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Jms Bus</em>' containment reference.
   * @see #getJmsBus()
   * @generated
   */
  void setJmsBus(JmsBusType value);

  /**
   * Returns the value of the '<em><b>Jms Jca Provider</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * A specific instance of a provider, providing JMS through JCA inflow.
   * <!-- end-model-doc -->
   * @return the value of the '<em>Jms Jca Provider</em>' containment reference.
   * @see #setJmsJcaProvider(JmsJcaProviderType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_JmsJcaProvider()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='jms-jca-provider' namespace='##targetNamespace' affiliation='provider'"
   * @generated
   */
  JmsJcaProviderType getJmsJcaProvider();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getJmsJcaProvider <em>Jms Jca Provider</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Jms Jca Provider</em>' containment reference.
   * @see #getJmsJcaProvider()
   * @generated
   */
  void setJmsJcaProvider(JmsJcaProviderType value);

  /**
   * Returns the value of the '<em><b>Jms Listener</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * A specific listener using the jms protocol.
   * <!-- end-model-doc -->
   * @return the value of the '<em>Jms Listener</em>' containment reference.
   * @see #setJmsListener(JmsListenerType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_JmsListener()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='jms-listener' namespace='##targetNamespace' affiliation='listener'"
   * @generated
   */
  JmsListenerType getJmsListener();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getJmsListener <em>Jms Listener</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Jms Listener</em>' containment reference.
   * @see #getJmsListener()
   * @generated
   */
  void setJmsListener(JmsListenerType value);

  /**
   * Returns the value of the '<em><b>Jms Message Filter</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * 
   * 				A JMS filter can add information to a Queue, or Topic. For example you can defined a message-selector. However, you can also
   * 				push the queue name and type into this filter given you did not already specify them in the jms-bus.
   * 			
   * <!-- end-model-doc -->
   * @return the value of the '<em>Jms Message Filter</em>' containment reference.
   * @see #setJmsMessageFilter(JmsMessageFilterType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_JmsMessageFilter()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='jms-message-filter' namespace='##targetNamespace'"
   * @generated
   */
  JmsMessageFilterType getJmsMessageFilter();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getJmsMessageFilter <em>Jms Message Filter</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Jms Message Filter</em>' containment reference.
   * @see #getJmsMessageFilter()
   * @generated
   */
  void setJmsMessageFilter(JmsMessageFilterType value);

  /**
   * Returns the value of the '<em><b>Jms Provider</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Jms Provider</em>' containment reference isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Jms Provider</em>' containment reference.
   * @see #setJmsProvider(JmsProviderType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_JmsProvider()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='jms-provider' namespace='##targetNamespace' affiliation='provider'"
   * @generated
   */
  JmsProviderType getJmsProvider();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getJmsProvider <em>Jms Provider</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Jms Provider</em>' containment reference.
   * @see #getJmsProvider()
   * @generated
   */
  void setJmsProvider(JmsProviderType value);

  /**
   * Returns the value of the '<em><b>Listeners</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * A container for all listener for a service.
   * <!-- end-model-doc -->
   * @return the value of the '<em>Listeners</em>' containment reference.
   * @see #setListeners(ListenersType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_Listeners()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='listeners' namespace='##targetNamespace'"
   * @generated
   */
  ListenersType getListeners();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getListeners <em>Listeners</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Listeners</em>' containment reference.
   * @see #getListeners()
   * @generated
   */
  void setListeners(ListenersType value);

  /**
   * Returns the value of the '<em><b>Property</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * A simple name-value pair.
   * <!-- end-model-doc -->
   * @return the value of the '<em>Property</em>' containment reference.
   * @see #setProperty(PropertyType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_Property()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='property' namespace='##targetNamespace'"
   * @generated
   */
  PropertyType getProperty();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getProperty <em>Property</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Property</em>' containment reference.
   * @see #getProperty()
   * @generated
   */
  void setProperty(PropertyType value);

  /**
   * Returns the value of the '<em><b>Providers</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * A container for the providers referenced in the jbossesb config file
   * <!-- end-model-doc -->
   * @return the value of the '<em>Providers</em>' containment reference.
   * @see #setProviders(ProvidersType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_Providers()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='providers' namespace='##targetNamespace'"
   * @generated
   */
  ProvidersType getProviders();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getProviders <em>Providers</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Providers</em>' containment reference.
   * @see #getProviders()
   * @generated
   */
  void setProviders(ProvidersType value);

  /**
   * Returns the value of the '<em><b>Scheduled Listener</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * Scheduled listener.
   * <!-- end-model-doc -->
   * @return the value of the '<em>Scheduled Listener</em>' containment reference.
   * @see #setScheduledListener(ScheduledListenerType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_ScheduledListener()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='scheduled-listener' namespace='##targetNamespace' affiliation='listener'"
   * @generated
   */
  ScheduledListenerType getScheduledListener();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getScheduledListener <em>Scheduled Listener</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Scheduled Listener</em>' containment reference.
   * @see #getScheduledListener()
   * @generated
   */
  void setScheduledListener(ScheduledListenerType value);

  /**
   * Returns the value of the '<em><b>Schedule Provider</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Schedule Provider</em>' containment reference isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Schedule Provider</em>' containment reference.
   * @see #setScheduleProvider(ScheduleProviderType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_ScheduleProvider()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='schedule-provider' namespace='##targetNamespace' affiliation='provider'"
   * @generated
   */
  ScheduleProviderType getScheduleProvider();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getScheduleProvider <em>Schedule Provider</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Schedule Provider</em>' containment reference.
   * @see #getScheduleProvider()
   * @generated
   */
  void setScheduleProvider(ScheduleProviderType value);

  /**
   * Returns the value of the '<em><b>Service</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * A service has listener or gateways and a list of actions.
   * <!-- end-model-doc -->
   * @return the value of the '<em>Service</em>' containment reference.
   * @see #setService(ServiceType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_Service()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='service' namespace='##targetNamespace'"
   * @generated
   */
  ServiceType getService();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getService <em>Service</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Service</em>' containment reference.
   * @see #getService()
   * @generated
   */
  void setService(ServiceType value);

  /**
   * Returns the value of the '<em><b>Services</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * A container for services.
   * <!-- end-model-doc -->
   * @return the value of the '<em>Services</em>' containment reference.
   * @see #setServices(ServicesType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_Services()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='services' namespace='##targetNamespace'"
   * @generated
   */
  ServicesType getServices();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getServices <em>Services</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Services</em>' containment reference.
   * @see #getServices()
   * @generated
   */
  void setServices(ServicesType value);

  /**
   * Returns the value of the '<em><b>Simple Schedule</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Simple Schedule</em>' containment reference isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Simple Schedule</em>' containment reference.
   * @see #setSimpleSchedule(SimpleScheduleType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_SimpleSchedule()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='simple-schedule' namespace='##targetNamespace' affiliation='schedule'"
   * @generated
   */
  SimpleScheduleType getSimpleSchedule();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getSimpleSchedule <em>Simple Schedule</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Simple Schedule</em>' containment reference.
   * @see #getSimpleSchedule()
   * @generated
   */
  void setSimpleSchedule(SimpleScheduleType value);

  /**
   * Returns the value of the '<em><b>Sql Bus</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * A SQL-Bus is a specific instance of a bus using the SQL protocol.
   * <!-- end-model-doc -->
   * @return the value of the '<em>Sql Bus</em>' containment reference.
   * @see #setSqlBus(SqlBusType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_SqlBus()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='sql-bus' namespace='##targetNamespace' affiliation='bus'"
   * @generated
   */
  SqlBusType getSqlBus();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getSqlBus <em>Sql Bus</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Sql Bus</em>' containment reference.
   * @see #getSqlBus()
   * @generated
   */
  void setSqlBus(SqlBusType value);

  /**
   * Returns the value of the '<em><b>Sql Listener</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * A specific listener using the SQL protocol.
   * <!-- end-model-doc -->
   * @return the value of the '<em>Sql Listener</em>' containment reference.
   * @see #setSqlListener(SqlListenerType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_SqlListener()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='sql-listener' namespace='##targetNamespace' affiliation='listener'"
   * @generated
   */
  SqlListenerType getSqlListener();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getSqlListener <em>Sql Listener</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Sql Listener</em>' containment reference.
   * @see #getSqlListener()
   * @generated
   */
  void setSqlListener(SqlListenerType value);

  /**
   * Returns the value of the '<em><b>Sql Message Filter</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * A SQL filter.
   * <!-- end-model-doc -->
   * @return the value of the '<em>Sql Message Filter</em>' containment reference.
   * @see #setSqlMessageFilter(SqlMessageFilterType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_SqlMessageFilter()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='sql-message-filter' namespace='##targetNamespace'"
   * @generated
   */
  SqlMessageFilterType getSqlMessageFilter();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getSqlMessageFilter <em>Sql Message Filter</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Sql Message Filter</em>' containment reference.
   * @see #getSqlMessageFilter()
   * @generated
   */
  void setSqlMessageFilter(SqlMessageFilterType value);

  /**
   * Returns the value of the '<em><b>Sql Provider</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * <!-- begin-model-doc -->
   * A specific instance of a provider, providing a db service.
   * <!-- end-model-doc -->
   * @return the value of the '<em>Sql Provider</em>' containment reference.
   * @see #setSqlProvider(SqlProviderType)
   * @see fi.jab.esb.config.xml.XmlPackage#getDocumentRoot_SqlProvider()
   * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
   *        extendedMetaData="kind='element' name='sql-provider' namespace='##targetNamespace' affiliation='provider'"
   * @generated
   */
  SqlProviderType getSqlProvider();

  /**
   * Sets the value of the '{@link fi.jab.esb.config.xml.DocumentRoot#getSqlProvider <em>Sql Provider</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Sql Provider</em>' containment reference.
   * @see #getSqlProvider()
   * @generated
   */
  void setSqlProvider(SqlProviderType value);

} // DocumentRoot
